/*
 * Copyright (C) Cvitek Co., Ltd. 2019-2021. All rights reserved.
 *
 * File Name: ae_common.h
 * Description:
 *
 */

#ifndef _AE_COMMON_H_
#define _AE_COMMON_H_

#define BV_AUTO_ENTRY (-0x3fff)
#define TV_AUTO_ENTRY (-0x3fff)
#define SV_AUTO_ENTRY (-0x3fff)
#define AV_AUTO_ENTRY (-0x3fff)

#define ENTRY_PER_EV 100//20 //40 //16
#define ENTRY_PER_BV ENTRY_PER_EV
#define ENTRY_PER_SV ENTRY_PER_EV
#define ENTRY_PER_TV ENTRY_PER_EV

#define EVTT_ENTRY_1_01SEC (EVTT_ENTRY_1_02SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_02SEC (EVTT_ENTRY_1_04SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_04SEC (EVTT_ENTRY_1_08SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_08SEC (EVTT_ENTRY_1_16SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_15SEC (EVTT_ENTRY_1_30SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_16SEC (EVTT_ENTRY_1_33SEC - ENTRY_PER_TV)
#define EVTT_ENTRY_1_20SEC (EVTT_ENTRY_1_30SEC - (ENTRY_PER_TV * 584) / 1000)
#define EVTT_ENTRY_1_25SEC (EVTT_ENTRY_1_30SEC - (ENTRY_PER_TV * 263) / 1000)
#define EVTT_ENTRY_1_30SEC (512)
#define EVTT_ENTRY_1_33SEC (EVTT_ENTRY_1_30SEC + (ENTRY_PER_TV * 138) / 1000)
#define EVTT_ENTRY_1_50SEC (EVTT_ENTRY_1_30SEC + (ENTRY_PER_TV * 737) / 1000)
#define EVTT_ENTRY_1_60SEC (EVTT_ENTRY_1_30SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_100SEC (EVTT_ENTRY_1_50SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_120SEC (EVTT_ENTRY_1_60SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_240SEC (EVTT_ENTRY_1_120SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_480SEC (EVTT_ENTRY_1_240SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_960SEC (EVTT_ENTRY_1_480SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_1920SEC (EVTT_ENTRY_1_960SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_3840SEC (EVTT_ENTRY_1_1920SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_7680SEC (EVTT_ENTRY_1_3840SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_15360SEC (EVTT_ENTRY_1_7680SEC + ENTRY_PER_TV)
#define EVTT_ENTRY_1_30720SEC (EVTT_ENTRY_1_15360SEC + ENTRY_PER_TV)

#define ISO_50_Entry (ISO_100_Entry - ENTRY_PER_SV)
#define ISO_100_Entry 0
#define ISO_200_Entry (ISO_100_Entry + ENTRY_PER_SV)
#define ISO_400_Entry (ISO_200_Entry + ENTRY_PER_SV)
#define ISO_800_Entry (ISO_400_Entry + ENTRY_PER_SV)
#define ISO_1600_Entry (ISO_800_Entry + ENTRY_PER_SV)
#define ISO_3200_Entry (ISO_1600_Entry + ENTRY_PER_SV)
#define ISO_6400_Entry (ISO_3200_Entry + ENTRY_PER_SV)
#define ISO_12800_Entry (ISO_6400_Entry + ENTRY_PER_SV)
#define ISO_25600_Entry (ISO_12800_Entry + ENTRY_PER_SV)
#define ISO_51200_Entry (ISO_25600_Entry + ENTRY_PER_SV)
#define ISO_102400_Entry (ISO_51200_Entry + ENTRY_PER_SV)
#define ISO_204800_Entry (ISO_102400_Entry + ENTRY_PER_SV)
#define ISO_409600_Entry (ISO_204800_Entry + ENTRY_PER_SV)
#define ISO_819200_Entry (ISO_409600_Entry + ENTRY_PER_SV)
#define ISO_1638400_Entry (ISO_819200_Entry + ENTRY_PER_SV)
#define ISO_3276800_Entry (ISO_1638400_Entry + ENTRY_PER_SV)
#define ISO_6553600_Entry (ISO_3276800_Entry + ENTRY_PER_SV)
#define ISO_13107200_Entry (ISO_6553600_Entry + ENTRY_PER_SV)
#define ISO_26214400_Entry (ISO_13107200_Entry + ENTRY_PER_SV)
#define ISO_52428800_Entry (ISO_26214400_Entry + ENTRY_PER_SV)
#define ISO_104857600_Entry (ISO_52428800_Entry + ENTRY_PER_SV)

#endif // _AE_COMMON_H_
